#include <string.h>
#include <iostream>
using std::cout;
using std::endl;

class Computer{
public:
    Computer(const char * brand,double price,int a)
    /* : _brand(brand)  //_brand = brand */
    /* : _brand("XiaoMI") */
    /* : _brand{'a','p'} */
    {
        strcpy(_brand,brand);
       _price = price;
       _a = a;

    }

    void print(){
        cout << "brand:" << _brand << endl
            << "price:" << _price << endl;
    }

    ~Computer(){
        cout << "~Computer()" << endl;
    }
private:
    char _brand[20];
    double _price;
    int _a;
};


void test0(){
    Computer pc("Dell",7800,7);
    pc.print();
    //内存对齐
    //除数组外，其他的数据成员，以较大的数据成员的所占空间的倍数去对齐
    //内存对齐还与数据成员的声明顺序有关
    //设计思路：一些平台只能在某些特定地址进行寻址，
    //如果不对齐可能需要二次寻址，会降低效率
    cout << sizeof(Computer) << endl;
    cout << sizeof(pc) << endl;
}

int main(void){
    test0();
    return 0;
}
